module.exports = class extends think.Model {
  /**
   * 获取配置列表
   * @param  {String} type [description]
   * @return {[Object]}      [description]
   */
  async getList() {
    const map = {};
    const list = await this.where(map).select();
    const data = {};
    for (const i in list) {
      data[list[i].name] = JSON.parse(list[i].value);
    }
    return data;
  }

  /**
   * 保存配置
   * @param  {[String]} name  [配置项目的名称，必须是唯一的]
   * @param  {[Object]} value [配置值]
   * @param  {[String]} type  [配置项目的分类]
   * @return {[Boolean]}      [保存是否成功]
   */
  async save(name, value) {
    const data = {
      name: name,
      value: JSON.stringify(value)
    };

    // think.logger.error(data);

    return this.thenUpdate(data, {name: name});
  }
};
